﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CI.Caja.BE;
using System.Data.SqlClient;

namespace CI.Caja.DL
{
    public class DA_PuntoVenta : IDA_PuntoVenta
    {

        DA_Utilitario objUtility = new DA_Utilitario();

       public ICollection<BE_PuntoVenta> ListarPtoVenta()
       {
           ICollection<BE.BE_PuntoVenta> puntosvtaExistentes = new List<BE.BE_PuntoVenta>();
           BE_PuntoVenta puntovta = null;

           //string sentencia = "SELECT idPuntoVenta,txtDescripcion,fecReg,idUsuario  FROM CA_PUNTOVENTA";
           string sentencia = "SELECT idPuntoVenta,txtDescripcion,convert(varchar(10),fecReg,103) as fecReg,idUsuario  FROM CA_PUNTOVENTA";
           //using (SqlConnection conexion = new SqlConnection(DA_Utilitario.ObtenerConexion()))
           using (SqlConnection conexion = DA_SingletonConexion.ConnectionInstance)
           {
               conexion.Open();

             try
               {
               using (SqlCommand comando = new SqlCommand(sentencia, conexion))
               {
                   SqlDataReader resultado = comando.ExecuteReader();
                   while (resultado.Read())
                   {
                       puntovta = new BE_PuntoVenta();
                       puntovta.IdPuntoVenta = (int)resultado["idPuntoVenta"];
                       puntovta.Descripcion = (string)resultado["txtDescripcion"];
                       puntovta.FechaRegistro = (string)resultado["fecReg"];
                       puntovta.IdUsuario = (string)resultado["idUsuario"];

                       puntosvtaExistentes.Add(puntovta);
                   }
               }

               }
             catch (SqlException error)
             {
                 throw new Exception(error.Message);
             }
             finally
             {
                 if (conexion != null)
                 {
                     if (conexion.State == System.Data.ConnectionState.Open) conexion.Close();
                 }
             }
           }
           return puntosvtaExistentes;
       }
    }
}
